public class 线程中断 {


        private static volatile boolean 是否被中断 = false;

        public static void main(String[] args) throws InterruptedException {
            Thread t = new Thread(new Runnable() {
                @Override
                public void run() {
                    //循环10次，每次打印次数，并休眠1秒
                    try {
                        //判断条件加上标志位
                        for (int i = 0; i < 10 && !是否被中断; i++) {
                            System.out.println(i);
                            //自定义标志位，能够实现某些条件的中断
                            //但如果线程处于等待/超时等待/阻塞, 就没法中断
                            //修改时间为100秒就没法中断
                            Thread.sleep(1000);
                        }
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            });
            t.start();
            //要中断t线程：等3后再中断
            Thread.sleep(3000);
            是否被中断 = true;
        }
}
